setting working directory

knitr::opts_knit$set(root.dir = normalizePath("/Users/kanferg/Desktop/Gil_LabWork/Gil_packages/AIPS_Package/Example_images/sgPINKvsWT/"))

Parkin expressing cells treated with CCCP are loaded

frame<-load_image(Image_File_name="Image_1.tif",path="/Users/kanferg/Desktop/Gil_LabWork/Gil_packages/AIPS_Package/Example_images/sgPINKvsWT/",minmax_nrom=TRUE)

The variable object is a list of two channel Parkin-GFP in channel-1 and dapi staining for channel-2

display(abind(frame$CH1*5,frame$CH2,along = 1),method = "raster")

#par(mar = c(4, 4, .1, .1))
plot(frame$CH1*5)
plot(frame$CH2)

First the nucleus will be segmented using the Nucleus_segmentation function.

#par(mar = c(4, 4, .1, .1))
plot(frame$CH1*5)

plot(frame$CH2)

Than the GFP-Parkin will be segmented using the nuc_mask as the seed. The function retrieved a list composed of roi pixel coordination of the center of ecth cell and a table and two maks one for the cytosle and the other for the nuclues.

nuc_mask<-Nucleus_segmentation(x=frame$CH2,intens=1,filter_size=10,offset=0.04,opensize=3,
                               rmObjects_small=30,Use_watershed=TRUE,distmap_value=2,rm_outliers=TRUE,Out_P=0.95,
                               Masks_display=TRUE)
seg_disp = paintObjects(nuc_mask$mask_nuc, toRGB(frame$CH2), opac=c(1, 1),col=c("red",NA),thick=TRUE,closed=TRUE)
plot(seg_disp)

SVM model is created by picking cells which lost Parkin mitochondrial recruitment. These cells are labeled Positive. The function returns a feture_table contains 20 detures extracted from the segmented cells.

GFP_mask<-Cytosol_segmentation(x=frame$CH1,y=nuc_mask$mask_nuc,intens=5,filter_size=10,offset=0.1,mat_size_smooth=19,opensize=7,rmObjects_large=30000,Use_watershed=TRUE)

seg<-paintObjects(GFP_mask$mask_cyto,paintObjects(GFP_mask$mask_nuc,toRGB(frame$CH1*5),opac=c(1,1),col=c("red",NA)),opac=c(1,1),col=c("green",NA),thick=TRUE,closed=TRUE)  
plot(seg)

Picking phenotype exampled cells. The cells which Parkin mitochondrial translocation is abolished are labeled as postive cells for corresponding fetures marking.

Features_Table<-Feature_extract(x=frame$CH1,mask_cyto=GFP_mask$mask_cyto,label_class="Postive")
head(Features_Table$Ts.mix)

The data created will be assigned in to SVM algorithm and the accuracy of linaer karnel versus non-liner karnel is compered. All the tables shoud be save to the Table-training repository

plot(Table_training$seg_class_sel)

First we mesure acurrrecy for Linear Kerenel

non liner kernel

print(mean(acc))
[1] 0.9108896

Thea a PCA analysis for selecting features

print(mean(acc))
[1] 0.9146174

SVM model save and features selectopn acording to the PCA output

PCA_plot<-Fetures_PCA(Table_class_train=table,cartesian_lim_x=c(-15,10),cartesian_lim_y =c(-20,20),font_size=14)
Error in svd(x, nu = 0, nv = k) : infinite or missing values in 'x'
Error in svd(x, nu = 0, nv = k) : infinite or missing values in 'x'
Coordinate system already present. Adding new coordinate system, which will replace the existing one.
PCA_plot

For deploy svm model and creat a mask first Nucls and cytosole will be segmented and than the model will be deploy

##Deployment SVM

print(mean(model$ACC))
[1] 0.9183964

Now the model and the features selection will be used for the deploy and the genration of called cell mask

Features_Table<-Feature_extract(x=frame$CH1,mask_cyto=GFP_mask$mask_cyto,label_class="Postive")
Called from: Feature_extract(x = frame$CH1, mask_cyto = GFP_mask$mask_cyto, 
    label_class = "Postive")
Q

The selected cells which will get photoactivated


Target_mask<-maskGen_deploySVM(x=GFP_mask$mask_cyto,y=GFP_mask$mask_nuc,model=model$model,Table_class_train=Features_Table$Ts.mix,label_class="Postive",erode_mask=T,opensize=9,Sel=TRUE,Selected_Features=model$Selected_Features,TH=0)
display(frame$CH1,"raster")
celltext<-text(x= data.frame(Target_mask$table)["m.cx"][,1], y= data.frame(Target_mask$table)["m.cy"][,1], labels=data.frame(Target_mask$decision_values)[,1], col="yellow", cex = 0.8)

LS0tCnRpdGxlOiAiQUktUFMgcGFja2FnZSBub3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpzZXR0aW5nIHdvcmtpbmcgZGlyZWN0b3J5CmBgYHtyfQprbml0cjo6b3B0c19rbml0JHNldChyb290LmRpciA9IG5vcm1hbGl6ZVBhdGgoIi9Vc2Vycy9rYW5mZXJnL0Rlc2t0b3AvR2lsX0xhYldvcmsvR2lsX3BhY2thZ2VzL0FJUFNfUGFja2FnZS9FeGFtcGxlX2ltYWdlcy9zZ1BJTkt2c1dULyIpKQpgYGAKCgpQYXJraW4gZXhwcmVzc2luZyBjZWxscyB0cmVhdGVkIHdpdGggQ0NDUCBhcmUgbG9hZGVkCmBgYHtyfQpmcmFtZTwtbG9hZF9pbWFnZShJbWFnZV9GaWxlX25hbWU9IkltYWdlXzEudGlmIixwYXRoPSIvVXNlcnMva2FuZmVyZy9EZXNrdG9wL0dpbF9MYWJXb3JrL0dpbF9wYWNrYWdlcy9BSVBTX1BhY2thZ2UvRXhhbXBsZV9pbWFnZXMvc2dQSU5LdnNXVC8iLG1pbm1heF9ucm9tPVRSVUUpCmBgYAoKVGhlIHZhcmlhYmxlIG9iamVjdCBpcyBhIGxpc3Qgb2YgdHdvIGNoYW5uZWwKUGFya2luLUdGUCBpbiBjaGFubmVsLTEgYW5kIGRhcGkgc3RhaW5pbmcgZm9yIGNoYW5uZWwtMgoKYGBge3J9CmRpc3BsYXkoYWJpbmQoZnJhbWUkQ0gxKjUsZnJhbWUkQ0gyLGFsb25nID0gMSksbWV0aG9kID0gInJhc3RlciIpCmBgYApgYGB7ciwgZmlndXJlcy1zaWRlLCBmaWcuc2hvdz0iaG9sZCIsIG91dC53aWR0aD0iMjUlIn0KI3BhcihtYXIgPSBjKDQsIDQsIC4xLCAuMSkpCnBsb3QoZnJhbWUkQ0gxKjUpCnBsb3QoZnJhbWUkQ0gyKQpgYGAKCgoKRmlyc3QgdGhlIG51Y2xldXMgd2lsbCBiZSBzZWdtZW50ZWQgdXNpbmcgdGhlIE51Y2xldXNfc2VnbWVudGF0aW9uIGZ1bmN0aW9uLiAKCmBgYHtyfQpudWNfbWFzazwtTnVjbGV1c19zZWdtZW50YXRpb24oeD1mcmFtZSRDSDIsaW50ZW5zPTEsZmlsdGVyX3NpemU9MTAsb2Zmc2V0PTAuMDQsb3BlbnNpemU9MywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtT2JqZWN0c19zbWFsbD0zMCxVc2Vfd2F0ZXJzaGVkPVRSVUUsZGlzdG1hcF92YWx1ZT0yLHJtX291dGxpZXJzPVRSVUUsT3V0X1A9MC45NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hc2tzX2Rpc3BsYXk9VFJVRSkKc2VnX2Rpc3AgPSBwYWludE9iamVjdHMobnVjX21hc2skbWFza19udWMsIHRvUkdCKGZyYW1lJENIMiksIG9wYWM9YygxLCAxKSxjb2w9YygicmVkIixOQSksdGhpY2s9VFJVRSxjbG9zZWQ9VFJVRSkKcGxvdChzZWdfZGlzcCkKYGBgCgoKClRoYW4gdGhlIEdGUC1QYXJraW4gd2lsbCBiZSBzZWdtZW50ZWQgdXNpbmcgdGhlIG51Y19tYXNrIGFzIHRoZSBzZWVkLiBUaGUgZnVuY3Rpb24gcmV0cmlldmVkIGEgbGlzdCBjb21wb3NlZCBvZiByb2kgcGl4ZWwgY29vcmRpbmF0aW9uIG9mIHRoZSBjZW50ZXIgb2YgZWN0aCBjZWxsIGFuZCBhIHRhYmxlIGFuZCB0d28gbWFrcyBvbmUgZm9yIHRoZSBjeXRvc2xlIGFuZCB0aGUgb3RoZXIgZm9yIHRoZSBudWNsdWVzLiAgCgpgYGB7cn0KR0ZQX21hc2s8LUN5dG9zb2xfc2VnbWVudGF0aW9uKHg9ZnJhbWUkQ0gxLHk9bnVjX21hc2skbWFza19udWMsaW50ZW5zPTUsZmlsdGVyX3NpemU9MTAsb2Zmc2V0PTAuMSxtYXRfc2l6ZV9zbW9vdGg9MTksb3BlbnNpemU9NyxybU9iamVjdHNfbGFyZ2U9MzAwMDAsVXNlX3dhdGVyc2hlZD1UUlVFKQoKc2VnPC1wYWludE9iamVjdHMoR0ZQX21hc2skbWFza19jeXRvLHBhaW50T2JqZWN0cyhHRlBfbWFzayRtYXNrX251Yyx0b1JHQihmcmFtZSRDSDEqNSksb3BhYz1jKDEsMSksY29sPWMoInJlZCIsTkEpKSxvcGFjPWMoMSwxKSxjb2w9YygiZ3JlZW4iLE5BKSx0aGljaz1UUlVFLGNsb3NlZD1UUlVFKSAgCnBsb3Qoc2VnKQpgYGAKU1ZNIG1vZGVsIGlzIGNyZWF0ZWQgYnkgcGlja2luZyBjZWxscyB3aGljaCBsb3N0IFBhcmtpbiBtaXRvY2hvbmRyaWFsIHJlY3J1aXRtZW50LiBUaGVzZSBjZWxscyBhcmUgbGFiZWxlZCBQb3NpdGl2ZS4gVGhlIGZ1bmN0aW9uIHJldHVybnMgYSBmZXR1cmVfdGFibGUgY29udGFpbnMgMjAgZGV0dXJlcyBleHRyYWN0ZWQgZnJvbSB0aGUgc2VnbWVudGVkIGNlbGxzLiAKCmBgYHtyfQpGZWF0dXJlc19UYWJsZTwtRmVhdHVyZV9leHRyYWN0KHg9ZnJhbWUkQ0gxLG1hc2tfY3l0bz1HRlBfbWFzayRtYXNrX2N5dG8sbGFiZWxfY2xhc3M9IlBvc3RpdmUiKQpoZWFkKEZlYXR1cmVzX1RhYmxlJFRzLm1peCkKYGBgClBpY2tpbmcgcGhlbm90eXBlIGV4YW1wbGVkIGNlbGxzLiBUaGUgY2VsbHMgd2hpY2ggUGFya2luIG1pdG9jaG9uZHJpYWwgdHJhbnNsb2NhdGlvbiBpcyBhYm9saXNoZWQgYXJlIGxhYmVsZWQgYXMgcG9zdGl2ZSBjZWxscyBmb3IgY29ycmVzcG9uZGluZyBmZXR1cmVzIG1hcmtpbmcuIAoKYGBge3J9ClRhYmxlX3RyYWluaW5nPC1QaWNrX2NlbGxzKG1hc2tfbnVjPUdGUF9tYXNrJG1hc2tfbnVjLHg9ZnJhbWUkQ0gxLFRzLm1peD1GZWF0dXJlc19UYWJsZSRUcy5taXgsaW50ZW5zPTUscGFyYW1ldGVyc19udWM9R0ZQX21hc2skcGFyYW1ldGVyc19udWMsZm9udF9zaXplPTAuNyxsYWJlbF9jbGFzcz0iUG9zdGl2ZSIsTWFza3NfZGlzcGxheT1UUlVFKQpoZWFkKFRhYmxlX3RyYWluaW5nJFRhYmxlX2NsYXNzX3RyYWluKQoKYGBgCmBgYHtyfQpwbG90KFRhYmxlX3RyYWluaW5nJHNlZ19jbGFzc19zZWwpCmBgYApUaGUgZGF0YSBjcmVhdGVkIHdpbGwgYmUgYXNzaWduZWQgaW4gdG8gU1ZNIGFsZ29yaXRobSBhbmQgdGhlIGFjY3VyYWN5IG9mIGxpbmFlciBrYXJuZWwgdmVyc3VzIG5vbi1saW5lciBrYXJuZWwgaXMgY29tcGVyZWQuIApBbGwgdGhlIHRhYmxlcyBzaG91ZCBiZSBzYXZlIHRvIHRoZSBUYWJsZS10cmFpbmluZyByZXBvc2l0b3J5IApgYGB7cn0KaGVhZCh0YWJsZSkKYGBgCgoKRmlyc3Qgd2UgbWVzdXJlIGFjdXJycmVjeSBmb3IgTGluZWFyIEtlcmVuZWwKYGBge3J9CmFjYzwtTW9kZWxfc3ZtKFRhYmxlX2NsYXNzX3RyYWluPXRhYmxlLGtlcm5lbF9saW5lYXI9VFJVRSxjb3N0PTEwLCBkZWdyZWUgPSA0NSkKcHJpbnQobWVhbihhY2MpKQpgYGAKbm9uIGxpbmVyIGtlcm5lbCAKCmBgYHtyfQphY2M8LU1vZGVsX3N2bShUYWJsZV9jbGFzc190cmFpbj10YWJsZSxrZXJuZWxfbGluZWFyPUZBTFNFLGNvc3Q9MTAsIGRlZ3JlZSA9IDQ1KQpwcmludChtZWFuKGFjYykpCmBgYAoKVGhlYSBhIFBDQSBhbmFseXNpcyBmb3Igc2VsZWN0aW5nIGZlYXR1cmVzIAoKYGBge3J9ClBDQV9wbG90PC1GZXR1cmVzX1BDQShUYWJsZV9jbGFzc190cmFpbj10YWJsZSxjYXJ0ZXNpYW5fbGltX3g9YygtMTUsMTApLGNhcnRlc2lhbl9saW1feSA9YygtMjAsMjApLGZvbnRfc2l6ZT0xNCkKUENBX3Bsb3QKYGBgCgpTVk0gbW9kZWwgc2F2ZSBhbmQgZmVhdHVyZXMgc2VsZWN0b3BuIGFjb3JkaW5nIHRvIHRoZSBQQ0Egb3V0cHV0CgpgYGB7cn0KbW9kZWw8LVNWTV9GZWF0dXJlU2VsKFRhYmxlX2NsYXNzX3RyYWluPXRhYmxlLGtlcm5lbF9saW5lYXI9RkFMU0UsY29zdD0gMTAsIGRlZ3JlZSA9IDQ1KQpwcmludChtZWFuKG1vZGVsJEFDQykpCmBgYAoKRm9yIGRlcGxveSBzdm0gbW9kZWwgYW5kIGNyZWF0IGEgbWFzayBmaXJzdCBOdWNscyBhbmQgY3l0b3NvbGUgd2lsbCBiZSBzZWdtZW50ZWQgYW5kIHRoYW4gdGhlIG1vZGVsIHdpbGwgYmUgZGVwbG95CgoKIyNEZXBsb3ltZW50IFNWTSAKCgpgYGB7cn0KZnJhbWU8LWxvYWRfaW1hZ2UoSW1hZ2VfRmlsZV9uYW1lPSJJbWFnZV8yLnRpZiIscGF0aD0iL1VzZXJzL2thbmZlcmcvRGVza3RvcC9HaWxfTGFiV29yay9HaWxfcGFja2FnZXMvQUlQU19QYWNrYWdlL0V4YW1wbGVfaW1hZ2VzL3NnUElOS3ZzV1QvIixtaW5tYXhfbnJvbT1UUlVFKQpudWNfbWFzazwtTnVjbGV1c19zZWdtZW50YXRpb24oeD1mcmFtZSRDSDIsaW50ZW5zPTEsZmlsdGVyX3NpemU9MTAsb2Zmc2V0PTAuMDQsb3BlbnNpemU9MywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtT2JqZWN0c19zbWFsbD0zMCxVc2Vfd2F0ZXJzaGVkPVRSVUUsZGlzdG1hcF92YWx1ZT0yLHJtX291dGxpZXJzPVRSVUUsT3V0X1A9MC45NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hc2tzX2Rpc3BsYXk9VFJVRSkKR0ZQX21hc2s8LUN5dG9zb2xfc2VnbWVudGF0aW9uKHg9ZnJhbWUkQ0gxLHk9bnVjX21hc2skbWFza19udWMsaW50ZW5zPTUsZmlsdGVyX3NpemU9MTAsb2Zmc2V0PTAuMSxtYXRfc2l6ZV9zbW9vdGg9MTksb3BlbnNpemU9NyxybU9iamVjdHNfbGFyZ2U9MzAwMDAsVXNlX3dhdGVyc2hlZD1UUlVFKQpzZWc8LXBhaW50T2JqZWN0cyhHRlBfbWFzayRtYXNrX2N5dG8scGFpbnRPYmplY3RzKEdGUF9tYXNrJG1hc2tfbnVjLHRvUkdCKGZyYW1lJENIMSo1KSxvcGFjPWMoMSwxKSxjb2w9YygicmVkIixOQSkpLG9wYWM9YygxLDEpLGNvbD1jKCJncmVlbiIsTkEpLHRoaWNrPVRSVUUsY2xvc2VkPVRSVUUpICAKcGxvdChzZWcpCkZlYXR1cmVzX1RhYmxlPC1GZWF0dXJlX2V4dHJhY3QoeD1mcmFtZSRDSDEsbWFza19jeXRvPUdGUF9tYXNrJG1hc2tfY3l0byxsYWJlbF9jbGFzcz0iUG9zdGl2ZSIpCmBgYAoKTm93IHRoZSBtb2RlbCBhbmQgdGhlIGZlYXR1cmVzIHNlbGVjdGlvbiB3aWxsIGJlIHVzZWQgZm9yIHRoZSBkZXBsb3kgYW5kIHRoZSBnZW5yYXRpb24gb2YgY2FsbGVkIGNlbGwgbWFzawoKYGBge3J9ClRhcmdldF9tYXNrPC1tYXNrR2VuX2RlcGxveVNWTSh4PUdGUF9tYXNrJG1hc2tfY3l0byx5PUdGUF9tYXNrJG1hc2tfbnVjLG1vZGVsPW1vZGVsJG1vZGVsLFRhYmxlX2NsYXNzX3RyYWluPUZlYXR1cmVzX1RhYmxlJFRzLm1peCxsYWJlbF9jbGFzcz0iUG9zdGl2ZSIsZXJvZGVfbWFzaz1ULG9wZW5zaXplPTksU2VsPVRSVUUsU2VsZWN0ZWRfRmVhdHVyZXM9bW9kZWwkU2VsZWN0ZWRfRmVhdHVyZXMsVEg9MCkKZGlzcGxheShmcmFtZSRDSDEsInJhc3RlciIpCmNlbGx0ZXh0PC10ZXh0KHg9IGRhdGEuZnJhbWUoVGFyZ2V0X21hc2skdGFibGUpWyJtLmN4Il1bLDFdLCB5PSBkYXRhLmZyYW1lKFRhcmdldF9tYXNrJHRhYmxlKVsibS5jeSJdWywxXSwgbGFiZWxzPWRhdGEuZnJhbWUoVGFyZ2V0X21hc2skZGVjaXNpb25fdmFsdWVzKVssMV0sIGNvbD0ieWVsbG93IiwgY2V4ID0gMC44KQoKYGBgCgpUaGUgc2VsZWN0ZWQgY2VsbHMgd2hpY2ggd2lsbCBnZXQgcGhvdG9hY3RpdmF0ZWQKCmBgYHtyfQpkaXNwX2NhbGw8LXBhaW50T2JqZWN0cyhUYXJnZXRfbWFzayRtYXNrLHRvUkdCKGZyYW1lJENIMSoyKSxvcGFjPWMoMSwxKSxjb2w9YygicmVkIixOQSksdGhpY2s9VFJVRSxjbG9zZWQ9VFJVRSkgIApwbG90KGRpc3BfY2FsbCkKYGBgCgoKCgpgYGB7cn0KCmBgYAoK